Revert "drm/amd/display: more liberal vmin/vmax update for freesync"
authorAurabindo Pillai <aurabindo.pillai@amd.com>
Wed, 21 May 2025 20:05:39 +0000 (16:05 -0400)
committerSalvatore Bonaccorso <carnil@debian.org>
Sat, 7 Jun 2025 12:21:10 +0000 (14:21 +0200)
Origin: https://git.kernel.org/linus/1b824eef269db44d068bbc0de74c94a8e8f9ce02
Bug-Debian: https://bugs.debian.org/1106743
Bug-Debian: https://bugs.debian.org/1106268

This reverts commit cfb2d41831ee5647a4ae0ea7c24971a92d5dfa0d since it
causes regressions on certain configs. Revert until the issue can be
isolated and debugged.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4238
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name Revert-drm-amd-display-more-liberal-vmin-vmax-update.patch

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 5f9452b22596a30f680b2cc182cc3d0226b25a62..084d9ed325af63dfbddf758d702f214e078f16bd 100644 (file)
@@ -668,21 +668,15 @@ static void dm_crtc_high_irq(void *interrupt_params)
        spin_lock_irqsave(&adev_to_drm(adev)->event_lock, flags);
 
        if (acrtc->dm_irq_params.stream &&
-               acrtc->dm_irq_params.vrr_params.supported) {
-               bool replay_en = acrtc->dm_irq_params.stream->link->replay_settings.replay_feature_enabled;
-               bool psr_en = acrtc->dm_irq_params.stream->link->psr_settings.psr_feature_enabled;
-               bool fs_active_var_en = acrtc->dm_irq_params.freesync_config.state == VRR_STATE_ACTIVE_VARIABLE;
-
+           acrtc->dm_irq_params.vrr_params.supported &&
+           acrtc->dm_irq_params.freesync_config.state ==
+                   VRR_STATE_ACTIVE_VARIABLE) {
                mod_freesync_handle_v_update(adev->dm.freesync_module,
                                             acrtc->dm_irq_params.stream,
                                             &acrtc->dm_irq_params.vrr_params);
 
-               /* update vmin_vmax only if freesync is enabled, or only if PSR and REPLAY are disabled */
-               if (fs_active_var_en || (!fs_active_var_en && !replay_en && !psr_en)) {
-                       dc_stream_adjust_vmin_vmax(adev->dm.dc,
-                                       acrtc->dm_irq_params.stream,
-                                       &acrtc->dm_irq_params.vrr_params.adjust);
-               }
+               dc_stream_adjust_vmin_vmax(adev->dm.dc, acrtc->dm_irq_params.stream,
+                                          &acrtc->dm_irq_params.vrr_params.adjust);
        }
 
        /*